Portable electronic devices are in widespread use in everyday life throughout many regions of the world, and particularly in metropolitan regions. Examples of such devices include mobile communication devices, personal digital assistants and other handheld computer devices, cameras, and so on. Many of these devices are designed with an electrical interface that allows them to be used with accessory or peripheral devices such as external audio devices, cameras, wireless communication modules, for example. When a peripheral component is attached to the portable device, it is preferable that the portable device detect the presence of the peripheral component so that the portable device can instantiate appropriate driver software for operating the peripheral component. This presents two problems. First, how the presence of the peripheral component is detected, and second, determining which peripheral component is present so that the right driver software and operating mode may be initiated on the portable device.
Typically portable devices having external interface connectors provide power and a ground reference connection so that power may be provided to the peripheral device. Furthermore one or more option selector lines are provided so that the peripheral component or the class of the peripheral component may be determined. One method of detecting the presence of a peripheral component is for the peripheral component to load an option select line so as to bring it to a logical zero level, which is detected by the portable device, either by a periodic scan or by the logical zero causing an interrupt which, upon servicing, reveals the presence of the peripheral component. However, with this passive method of detecting the presence of the peripheral component, the number of peripheral components or classes of peripheral components is limited by the number of option select lines used. Given the cost sensitive market in which many portable devices are sold, it is preferable to minimize the size of external connectors, and thus minimize the number of option select lines used.
One method of expanding the number of peripheral components beyond what can be achieved using passive detection with option select lines is described in U.S. Pat. No. 5,301,360 to Goldberg, which teaches the use of diodes between option select lines. The portable device periodically scans the option select lines to determine if a peripheral component been attached to the portable device by applying different logical levels to the option select lines and observing other option select lines to determine the presence of the diode, its orientation, and whether it is a zener diode or normal diode. A jumper shorting the lines together may also be used. However, this arrangement requires the portable device to actively scan the option select lines since the presence of the diode will not change logic states which can be used to generate an interrupt. It is preferable to avoid the processing resources of periodically performing an active scan of the option select lines. Therefore there is a need for a means by which more peripheral components or peripheral component classes may be defined with a limited number of option select lines, and for such means to be passively detected by allowing an interrupt to be generated when a peripheral component is connected to the portable device.